C to checked C by 3c

نویسندگان

چکیده

Owing to the continued use of C (and C++), spatial safety violations (e.g., buffer overflows) still constitute one today's most dangerous and prevalent security vulnerabilities. To combat these violations, Checked extends with bounds-enforced checked pointer types. is essentially a gradually typed spatially safe - pointers are backwards-binary compatible legacy pointers, language allows them be added piecemeal, rather than necessarily all at once, so that retrofitting can incremental. This paper presents semi-automated process for porting program C. The centers on 3C, static analysis-based annotation tool. 3C employs two novel analysis algorithms typ3c boun3c annotate as infer array bounds annotations need them. performs root cause direct human developer code should refactored; once done, re-run further updated causes). Experiments 11 programs totaling 319KLoC show effective inferring types, experience previously newly ported finds works well when combined human-driven refactoring.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

C + + and the Perils of Double - Checked Locking ∗

Google the newsgroups or the web for the names of various design patterns, and you’re sure to find that one of the most commonly mentioned is Singleton. Try to put Singleton into practice, however, and you’re all but certain to bump into a significant limitation: as traditionally implemented (and as we explain below), Singleton isn’t thread-safe. Much effort has been put into addressing this sh...

متن کامل

Synthesis of Titanium Carbide by the Combustion of TiO2-2Mg-C and 3TiO2-4Al-3C Systems in a Tubular Furnace

The combustion process of TiO2- 2Mg- C and 3TiO2-4Al-3C systems in a tubular furnace was investigated. TiC has been synthesized by the magnesiothermic reaction from a mixture of compacted powders of TiO2, Mg and charcoal as starting materials in the presence and absence of NaCl. The effects of temperature, pressure, and the stoichiometry ratio in the reactio...

متن کامل

Theoretical Analysis of SAW Propagation in 3C-SiC/c-AlN

The anisotropic materials as the acoustic wave propagating medium introduce the dependence of the phase velocity on the wave propagation direction, as opposed to the isotropic counterparts; in addition, the profile of the particle displacement components can be quite different, depending on the crystal type and propagation direction. The propagation of surface and bulk acoustic waves (SAWs and ...

متن کامل

Machine-checked object layout for C++ multiple inheritance with empty-base optimization

We also adopt the following additional notations: • rst is a function de ned on non-empty lists, such that rst(a :: l′) def. a for all a, l′. • last is a function de ned on non-empty lists, computing their last elements: last(a :: nil) def. a and last(a :: b :: l′) def. last(b :: l′) for all a, b, l′. • length(l) is the length of a list l: length(nil) def. 0 and length(a :: l′) def. 1 + length(...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2022

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3527322